package entidades;

import tipos.SalaEnum;
import interfaces.Escalonavel;

public class Sala implements Escalonavel{
	private String id;
	private int capacidade;
	private Finalidade finalidade;
	private SalaEnum tipo;
	private String apelido;
	
	public Sala(String id, int capacidade, String finalidade, String tipo) {
		this.id = id;
		this.capacidade = capacidade;
		setFinalidade(finalidade);
		setTipo(tipo);
	}

	public Sala(String id, int capacidade, String finalidade, String tipo,
			String apelido) {
		this.id = id;
		this.capacidade = capacidade;
		setFinalidade(finalidade);
		setTipo(tipo);
		this.apelido = apelido;
	}

	public Sala(String id, int capacidade, String finalidade, String tipo,
			String apelido, boolean aberto) {
		// TODO Auto-generated constructor stub
	}

	public int getCapacidade() {
		return capacidade;
	}

	public void setCapacidade(int capacidade) {
		this.capacidade = capacidade;
	}

	public Finalidade getFinalidade() {
		return finalidade;
	}

	private void setFinalidade(String finalidade) {
		if(finalidade.equals("Escritorio")){
			this.finalidade = Finalidade.ESCRITORIO;
		}
		
		if(finalidade.equals("Laboratorio")){
			this.finalidade = Finalidade.LABORATORIO;
		}
		
		if(finalidade.equals("Sala de Aula")){
			this.finalidade = Finalidade.SALA_DE_AULA;
		}
		
		if(finalidade.equals("Sala de Conferencia")){
			this.finalidade = Finalidade.SALA_DE_CONFERENCIA;
		}
	}

	public SalaEnum getTipo() {
		return tipo;
	}

	private void setTipo(String tipo) {
		if(tipo.equals("Normal")){
			this.tipo = SalaEnum.NORMAL;
		}else if(tipo.equals("Inteligente")){
			this.tipo = SalaEnum.INTELIGENTE;
		}else if(tipo.equals("Videoconferencia")){
			this.tipo = SalaEnum.VIDEOCONFERENCIA;
		}
		
	}

	public String getiD() {
		return id;
	}

	@Override
	public boolean alocarEvento(Evento evento) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean desalocarEvento(Evento evento) {
		// TODO Auto-generated method stub
		return false;
	}

	public void setApelido(String apelido) {
		this.apelido = apelido;
	}

	public String getApelido() {
		return apelido;
	}
}